{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "import rdflib\n",
    "from rdflib.collection import Collection\n",
    "\n",
    "graph = rdflib.Graph(store='Sleepycat')\n",
    "graph.open(\"gdc_cases.db\",create=True)\n",
    "\n",
    "if len(graph) == 0:\n",
    "    graph.parse('gdc_cases.nt',format='nt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "ns = dict(\n",
    "    sio = rdflib.Namespace(\"http://semanticscience.org/resource/\"),\n",
    "    obo = rdflib.Namespace('http://purl.obolibrary.org/obo/'),\n",
    "    prov = rdflib.Namespace('http://www.w3.org/ns/prov#'),\n",
    "    owl = rdflib.OWL\n",
    ")\n",
    "\n",
    "dataset = rdflib.URIRef('http://example.com/graph_digest/')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from rdflib.compare import to_isomorphic\n",
    "import base64\n",
    "\n",
    "def identify_class(r, namespace):\n",
    "    digest = hex(to_isomorphic(r.graph).graph_digest()).strip('0x').rstrip('L')\n",
    "    class_uri = namespace[digest]\n",
    "    output_graph = rdflib.Graph()\n",
    "    for statement in r.graph.triples((None,None,None)):\n",
    "        statement = tuple([class_uri if x == r.identifier else x for x in statement])\n",
    "        output_graph.add(statement)\n",
    "    return output_graph.resource(class_uri)\n",
    "\n",
    "def create_class(group, g, groupby):\n",
    "    # create the formal class definition for G().\n",
    "    cg = rdflib.Graph()\n",
    "    G = cg.resource(rdflib.BNode())\n",
    "    G.add(rdflib.RDF.type, rdflib.OWL.Class)\n",
    "    G.add(rdflib.RDFS.subClassOf, ns['sio'].SIO_000485 )\n",
    "    intersection = cg.resource(rdflib.BNode())\n",
    "    G.add(rdflib.OWL.equivalentClass, intersection.identifier)\n",
    "    intersection.add(rdflib.RDF.type, rdflib.OWL.Class)\n",
    "    restrictions = [ ns['sio'].SIO_000485 ]\n",
    "    for c in groupby:\n",
    "        r = cg.resource(rdflib.BNode())\n",
    "        r.add(rdflib.RDF.type,rdflib.OWL.Restriction)\n",
    "        r.add(rdflib.OWL.onProperty, ns['sio'].SIO_000008)\n",
    "        r.add(rdflib.OWL.someValuesFrom, group[c])\n",
    "        restrictions.append(r.identifier)\n",
    "        \n",
    "    coll_id = rdflib.BNode()\n",
    "    coll = Collection(cg,coll_id,restrictions)\n",
    "    intersection.add(rdflib.OWL.intersectionOf, coll_id)\n",
    "    G = identify_class(G, rdflib.Namespace('http://example.com/aggns/'))\n",
    "    for statement in G.graph:\n",
    "        g.add(statement)\n",
    "    G = g.resource(G.identifier)\n",
    "    \n",
    "    return G\n",
    "\n",
    "def create_attr(t, v, g, derivedFrom=None):\n",
    "    attr = g.resource(rdflib.BNode())\n",
    "    attr.add(rdflib.RDF.type, t)\n",
    "    if v is not None:\n",
    "        attr.add(ns['sio'].SIO_000300, v)\n",
    "    if derivedFrom is not None:\n",
    "        attr.add(ns['prov'].wasDerivedFrom, derivedFrom)\n",
    "    \n",
    "    return attr\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "dx_age_query = '''\n",
    "select \n",
    "?dx \n",
    "(sample(?dx_label) as ?dx_label) \n",
    "(count (distinct ?GDC_Subject) as ?count) \n",
    "(min(?age) as ?min_age) \n",
    "(max(?age) as ?max_age) \n",
    "(avg(?age) as ?mean_age) \n",
    "WHERE {\n",
    "  ?GDC_Subject a sio:SIO_000485; # human\n",
    "  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a sio:SIO_001013; # age\n",
    "      sio:SIO_000300 ?age; # has value\n",
    "    ].\n",
    "  }\n",
    "#  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a ?dx, sio:SIO_010299; # disease\n",
    "    ].\n",
    "    ?dx rdfs:subClassOf+ obo:NCIT_C2991.\n",
    "    ?dx rdfs:label ?dx_label.\n",
    "#  }\n",
    "} group by ?dx'''\n",
    "\n",
    "\n",
    "dx_age = rdflib.Graph()\n",
    "\n",
    "for group in [x.asdict() for x in graph.query(dx_age_query, initNs=ns)]:\n",
    "    G = create_class(group, dx_age, ['dx'])\n",
    "    dx_age.add((group['dx'],rdflib.RDFS.label,group['dx_label']))\n",
    "    G.add(rdflib.RDFS.label, rdflib.Literal(group['dx_label']))\n",
    "    G.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_000794, group['count'], dx_age, dataset))\n",
    "    age = create_attr(ns['sio'].SIO_001013, None, dx_age)\n",
    "    age.add(rdflib.RDF.type, ns['sio'].SIO_000430)\n",
    "    G.add(ns['sio'].SIO_000008, age.identifier)\n",
    "    if 'min_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001113, group['min_age'], dx_age, dataset))\n",
    "    if 'max_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001114, group['max_age'], dx_age, dataset))\n",
    "    if 'mean_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001109, group['mean_age'], dx_age, dataset))\n",
    "    \n",
    "with open(\"age_by_diagnosis.ttl\", 'wb') as w:\n",
    "    dx_age.serialize(w, format=\"turtle\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "dx_race_age_query = '''\n",
    "select \n",
    "?dx ?race \n",
    "(sample(?dx_label) as ?dx_label) \n",
    "(sample(?race_label) as ?race_label) \n",
    "(count (distinct ?GDC_Subject) as ?count) \n",
    "(min(?age) as ?min_age) \n",
    "(max(?age) as ?max_age) \n",
    "(avg(?age) as ?mean_age) \n",
    "WHERE {\n",
    "  ?GDC_Subject a sio:SIO_000485; # human\n",
    "  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a sio:SIO_001013; # age\n",
    "      sio:SIO_000300 ?age; # has value\n",
    "    ].\n",
    "  }\n",
    "#  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a ?race, obo:NCIT_C17049; # race\n",
    "    ].\n",
    "    ?race rdfs:label ?race_label.\n",
    "    ?race rdfs:subClassOf obo:NCIT_C17049.\n",
    "#  }\n",
    "#  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a ?dx, sio:SIO_010299; # disease\n",
    "    ].\n",
    "    ?dx rdfs:subClassOf+ obo:NCIT_C2991.\n",
    "    ?dx rdfs:label ?dx_label.\n",
    "#  }\n",
    "} group by ?dx ?race'''\n",
    "\n",
    "\n",
    "dx_race_age = rdflib.Graph()\n",
    "\n",
    "\n",
    "for group in [x.asdict() for x in graph.query(dx_race_age_query, initNs=ns)]:\n",
    "    G = create_class(group, dx_race_age, ['dx','race'])\n",
    "    dx_race_age.add((group['dx'],rdflib.RDFS.label,group['dx_label']))\n",
    "    dx_race_age.add((group['dx'],rdflib.RDFS.subClassOf,ns['obo'].NCIT_C2991))\n",
    "    dx_race_age.add((group['race'],rdflib.RDFS.label,group['race_label']))\n",
    "    dx_race_age.add((group['race'],rdflib.RDFS.subClassOf,ns['obo'].NCIT_C17049))\n",
    "    G.add(rdflib.RDFS.label, rdflib.Literal(\"/\".join([group['dx_label'],group['race_label']])))\n",
    "    G.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_000794, group['count'], dx_race_age, dataset))\n",
    "    age = create_attr(ns['sio'].SIO_001013, None, dx_race_age)\n",
    "    age.add(rdflib.RDF.type, ns['sio'].SIO_000430)\n",
    "    G.add(ns['sio'].SIO_000008, age.identifier)\n",
    "    if 'min_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001113, group['min_age'], dx_race_age, dataset))\n",
    "    if 'max_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001114, group['max_age'], dx_race_age, dataset))\n",
    "    if 'mean_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001109, group['mean_age'], dx_race_age, dataset))\n",
    "    \n",
    "with open(\"age_by_race_diagnosis.ttl\", 'wb') as w:\n",
    "    dx_race_age.serialize(w, format=\"turtle\")\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "race_age_query = '''\n",
    "select \n",
    "?race \n",
    "(sample(?race_label) as ?race_label) \n",
    "(count (distinct ?GDC_Subject) as ?count) \n",
    "(min(?age) as ?min_age) \n",
    "(max(?age) as ?max_age) \n",
    "(avg(?age) as ?mean_age) \n",
    "WHERE {\n",
    "  ?GDC_Subject a sio:SIO_000485; # human\n",
    "  optional {\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a sio:SIO_001013; # age\n",
    "      sio:SIO_000300 ?age; # has value\n",
    "    ].\n",
    "  }\n",
    "    ?GDC_Subject sio:SIO_000008 [ # has attribute\n",
    "      a ?race, obo:NCIT_C17049; # race\n",
    "    ].\n",
    "    ?race rdfs:label ?race_label.\n",
    "    ?race rdfs:subClassOf obo:NCIT_C17049.\n",
    "} group by ?race'''\n",
    "\n",
    "\n",
    "race_age = rdflib.Graph()\n",
    "\n",
    "\n",
    "for group in [x.asdict() for x in graph.query(dx_race_age_query, initNs=ns)]:\n",
    "    G = create_class(group, dx_race_age, ['dx','race'])\n",
    "    race_age.add((group['dx'],rdflib.RDFS.label,group['dx_label']))\n",
    "    race_age.add((group['dx'],rdflib.RDFS.subClassOf,ns['obo'].NCIT_C2991))\n",
    "    race_age.add((group['race'],rdflib.RDFS.label,group['race_label']))\n",
    "    race_age.add((group['race'],rdflib.RDFS.subClassOf,ns['obo'].NCIT_C17049))\n",
    "    G.add(rdflib.RDFS.label, rdflib.Literal(\"/\".join([group['dx_label'],group['race_label']])))\n",
    "    G.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_000794, group['count'], dx_race_age, dataset))\n",
    "    age = create_attr(ns['sio'].SIO_001013, None, dx_race_age)\n",
    "    age.add(rdflib.RDF.type, ns['sio'].SIO_000430)\n",
    "    G.add(ns['sio'].SIO_000008, age.identifier)\n",
    "    if 'min_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001113, group['min_age'], dx_race_age, dataset))\n",
    "    if 'max_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001114, group['max_age'], dx_race_age, dataset))\n",
    "    if 'mean_age' in group:\n",
    "        age.add(ns['sio'].SIO_000008, create_attr(ns['sio'].SIO_001109, group['mean_age'], dx_race_age, dataset))\n",
    "    \n",
    "with open(\"age_by_race.ttl\", 'wb') as w:\n",
    "    race_age.serialize(w, format=\"turtle\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "race_subclasses = set(graph.subjects(rdflib.RDFS.subClassOf, ns['obo'].NCIT_C17049))\n",
    "disease_subclasses = set(graph.transitive_subjects(rdflib.RDFS.subClassOf, ns['obo'].NCIT_C2991))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "152"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(dx_age.query('select ?c where {?c rdfs:subClassOf sio:SIO_000485.}',initNs=ns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "len(disease_subclasses)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "from vega import VegaLite, Vega\n",
    "import pandas as pd\n",
    "\n",
    "dx_count = [x.asdict() for x in dx_age.query('''\n",
    "        select ?text ?count where {\n",
    "          ?c rdfs:subClassOf sio:SIO_000485;\n",
    "             rdfs:label ?text;\n",
    "             sio:SIO_000008 [ a sio:SIO_000794; sio:SIO_000300 ?count ].\n",
    "        } order by desc(?count)\n",
    "        ''', initNs = ns)]\n",
    "dx_count = pd.DataFrame.from_records(dx_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "var spec = {\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"mark\": \"bar\", \"encoding\": {\"x\": {\"field\": \"count\", \"type\": \"quantitative\", \"axis\": {\"scale\": \"log\", \"title\": \"# of cases\"}}, \"y\": {\"field\": \"text\", \"type\": \"nominal\", \"sort\": {\"encoding\": \"x\", \"order\": \"descending\"}, \"axis\": {\"title\": \"Diagnosis\"}}}, \"data\": {\"values\": [{\"count\": \"4808\", \"text\": \"Adenocarcinoma\"}, {\"count\": \"2562\", \"text\": \"Carcinoma\"}, {\"count\": \"989\", \"text\": \"Squamous Cell Carcinoma\"}, {\"count\": \"411\", \"text\": \"Ductal Breast Carcinoma\"}, {\"count\": \"362\", \"text\": \"Endometrioid Adenocarcinoma\"}, {\"count\": \"337\", \"text\": \"Glioblastoma\"}, {\"count\": \"323\", \"text\": \"Serous Cystadenocarcinoma\"}, {\"count\": \"289\", \"text\": \"Gastric Papillary Adenocarcinoma\"}, {\"count\": \"269\", \"text\": \"Melanoma\"}, {\"count\": \"196\", \"text\": \"Non-Small Cell Carcinoma\"}, {\"count\": \"170\", \"text\": \"Diffuse Large B-Cell Lymphoma\"}, {\"count\": \"163\", \"text\": \"Acinar Cell Carcinoma\"}, {\"count\": \"141\", \"text\": \"Neuroendocrine Carcinoma\"}, {\"count\": \"139\", \"text\": \"Small Cell Carcinoma\"}, {\"count\": \"122\", \"text\": \"Papillary Carcinoma\"}, {\"count\": \"114\", \"text\": \"Mucinous Adenocarcinoma\"}, {\"count\": \"109\", \"text\": \"Thymoma\"}, {\"count\": \"102\", \"text\": \"Adult Cholangiocarcinoma\"}, {\"count\": \"91\", \"text\": \"Acute Myeloid Leukemia Not Otherwise Specified\"}, {\"count\": \"91\", \"text\": \"Cervical Adenocarcinoma\"}]}};\n",
       "var opt = {};\n",
       "var type = \"vega-lite\";\n",
       "var id = \"431d124a-c9f4-4b3d-afe4-dfb67dd82988\";\n",
       "\n",
       "var output_area = this;\n",
       "\n",
       "require([\"nbextensions/jupyter-vega/index\"], function(vega) {\n",
       "  var target = document.createElement(\"div\");\n",
       "  target.id = id;\n",
       "  target.className = \"vega-embed\";\n",
       "\n",
       "  var style = document.createElement(\"style\");\n",
       "  style.textContent = [\n",
       "    \".vega-embed .error p {\",\n",
       "    \"  color: firebrick;\",\n",
       "    \"  font-size: 14px;\",\n",
       "    \"}\",\n",
       "  ].join(\"\\\\n\");\n",
       "\n",
       "  // element is a jQuery wrapped DOM element inside the output area\n",
       "  // see http://ipython.readthedocs.io/en/stable/api/generated/\\\n",
       "  // IPython.display.html#IPython.display.Javascript.__init__\n",
       "  element[0].appendChild(target);\n",
       "  element[0].appendChild(style);\n",
       "\n",
       "  vega.render(\"#\" + id, spec, type, opt, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== \"scripterror\") {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ],
      "text/plain": [
       "<vega.vegalite.VegaLite at 0x11f57d320>"
      ]
     },
     "execution_count": 31,
     "metadata": {
      "jupyter-vega": "#431d124a-c9f4-4b3d-afe4-dfb67dd82988"
     },
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {
      "jupyter-vega": "#431d124a-c9f4-4b3d-afe4-dfb67dd82988"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "VegaLite({\n",
    "  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\",\n",
    "  \"mark\": \"bar\",\n",
    "  \"encoding\": {\n",
    "    \"x\": {\n",
    "      \"field\": \"count\",\n",
    "      \"type\": \"quantitative\",\n",
    "      \"axis\": {\n",
    "        \"scale\" : \"log\",\n",
    "        \"title\": \"# of cases\"\n",
    "      }\n",
    "    },\n",
    "    \"y\": {\n",
    "      \"field\": \"text\",\n",
    "      \"type\": \"nominal\",\n",
    "      \"sort\": {\"encoding\": \"x\", \"order\" : \"descending\"},\n",
    "      \"axis\": {\n",
    "        \"title\": \"Diagnosis\"\n",
    "      },\n",
    "    }\n",
    "  }\n",
    "},dx_count.head(20))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "var spec = {\"$schema\": \"https://vega.github.io/schema/vega/v5.json\", \"width\": 800, \"height\": 400, \"padding\": 0, \"data\": [{\"name\": \"table\", \"values\": [{\"dx_label\": \"Adenocarcinoma\", \"count\": \"4808\"}, {\"dx_label\": \"Carcinoma\", \"count\": \"2562\"}, {\"dx_label\": \"Squamous Cell Carcinoma\", \"count\": \"989\"}, {\"dx_label\": \"Ductal Breast Carcinoma\", \"count\": \"411\"}, {\"dx_label\": \"Endometrioid Adenocarcinoma\", \"count\": \"362\"}, {\"dx_label\": \"Glioblastoma\", \"count\": \"337\"}, {\"dx_label\": \"Serous Cystadenocarcinoma\", \"count\": \"323\"}, {\"dx_label\": \"Gastric Papillary Adenocarcinoma\", \"count\": \"289\"}, {\"dx_label\": \"Melanoma\", \"count\": \"269\"}, {\"dx_label\": \"Non-Small Cell Carcinoma\", \"count\": \"196\"}, {\"dx_label\": \"Diffuse Large B-Cell Lymphoma\", \"count\": \"170\"}, {\"dx_label\": \"Acinar Cell Carcinoma\", \"count\": \"163\"}, {\"dx_label\": \"Neuroendocrine Carcinoma\", \"count\": \"141\"}, {\"dx_label\": \"Small Cell Carcinoma\", \"count\": \"139\"}, {\"dx_label\": \"Papillary Carcinoma\", \"count\": \"122\"}, {\"dx_label\": \"Mucinous Adenocarcinoma\", \"count\": \"114\"}, {\"dx_label\": \"Thymoma\", \"count\": \"109\"}, {\"dx_label\": \"Adult Cholangiocarcinoma\", \"count\": \"102\"}, {\"dx_label\": \"Acute Myeloid Leukemia Not Otherwise Specified\", \"count\": \"91\"}, {\"dx_label\": \"Cervical Adenocarcinoma\", \"count\": \"91\"}, {\"dx_label\": \"Papillary Adenocarcinoma\", \"count\": \"90\"}, {\"dx_label\": \"Hepatocellular Carcinoma\", \"count\": \"80\"}, {\"dx_label\": \"Chromophobe Renal Cell Carcinoma\", \"count\": \"76\"}, {\"dx_label\": \"Adrenal Gland Pheochromocytoma\", \"count\": \"71\"}, {\"dx_label\": \"Oligodendroglioma, Not Otherwise Specified\", \"count\": \"70\"}, {\"dx_label\": \"Acute Leukemia of Ambiguous Lineage\", \"count\": \"64\"}, {\"dx_label\": \"Cholangiocarcinoma\", \"count\": \"64\"}, {\"dx_label\": \"Renal Cell Carcinoma\", \"count\": \"63\"}, {\"dx_label\": \"Urothelial Carcinoma\", \"count\": \"59\"}, {\"dx_label\": \"Cervical Keratinizing Squamous Cell Carcinoma\", \"count\": \"57\"}, {\"dx_label\": \"Carcinosarcoma\", \"count\": \"55\"}, {\"dx_label\": \"Seminoma\", \"count\": \"54\"}, {\"dx_label\": \"Adenoid Cystic Carcinoma\", \"count\": \"50\"}, {\"dx_label\": \"Lobular Breast Carcinoma\", \"count\": \"48\"}, {\"dx_label\": \"Mesothelioma\", \"count\": \"48\"}, {\"dx_label\": \"Gastrointestinal Stromal Tumor\", \"count\": \"47\"}, {\"dx_label\": \"Transitional Cell Carcinoma\", \"count\": \"47\"}, {\"dx_label\": \"Epithelioid Mesothelioma\", \"count\": \"44\"}, {\"dx_label\": \"Metaplastic Carcinoma\", \"count\": \"44\"}, {\"dx_label\": \"Clear Cell Adenocarcinoma\", \"count\": \"43\"}, {\"dx_label\": \"Leiomyosarcoma\", \"count\": \"40\"}, {\"dx_label\": \"Mixed Epithelioid and Spindle Cell Melanoma\", \"count\": \"40\"}, {\"dx_label\": \"Dedifferentiated Liposarcoma\", \"count\": \"40\"}, {\"dx_label\": \"Adult Leiomyosarcoma\", \"count\": \"40\"}, {\"dx_label\": \"Mixed Neoplasm\", \"count\": \"39\"}, {\"dx_label\": \"Mixed Glioma\", \"count\": \"38\"}, {\"dx_label\": \"Astrocytoma\", \"count\": \"37\"}, {\"dx_label\": \"Malignant Glioma\", \"count\": \"36\"}, {\"dx_label\": \"Papillary Serous Cystadenocarcinoma\", \"count\": \"36\"}, {\"dx_label\": \"Merkel Cell Carcinoma\", \"count\": \"34\"}, {\"dx_label\": \"Papillary Transitional Cell Carcinoma\", \"count\": \"34\"}, {\"dx_label\": \"Undifferentiated Carcinoma\", \"count\": \"33\"}, {\"dx_label\": \"Large Cell Carcinoma\", \"count\": \"31\"}, {\"dx_label\": \"Sarcomatoid Carcinoma\", \"count\": \"31\"}, {\"dx_label\": \"Adenosquamous Carcinoma\", \"count\": \"30\"}, {\"dx_label\": \"Adult Oligodendroglioma\", \"count\": \"30\"}, {\"dx_label\": \"Cervical Adenosquamous Carcinoma\", \"count\": \"30\"}, {\"dx_label\": \"Spindle Cell Melanoma\", \"count\": \"29\"}, {\"dx_label\": \"Malignant Mesothelioma\", \"count\": \"28\"}, {\"dx_label\": \"Undifferentiated (Embryonal) Sarcoma\", \"count\": \"27\"}, {\"dx_label\": \"Childhood Mixed Glioma\", \"count\": \"26\"}, {\"dx_label\": \"Atypical Carcinoid Tumor\", \"count\": \"25\"}, {\"dx_label\": \"Tubular Adenocarcinoma\", \"count\": \"25\"}, {\"dx_label\": \"Large Cell Neuroendocrine Carcinoma\", \"count\": \"24\"}, {\"dx_label\": \"Extra-Adrenal Paraganglioma\", \"count\": \"24\"}, {\"dx_label\": \"Acinar Cell Neoplasm\", \"count\": \"24\"}, {\"dx_label\": \"Papillary Renal Cell Carcinoma\", \"count\": \"23\"}, {\"dx_label\": \"Meningioma\", \"count\": \"22\"}, {\"dx_label\": \"Malignant Adrenal Gland Pheochromocytoma\", \"count\": \"21\"}, {\"dx_label\": \"Adrenal Cortex Carcinoma\", \"count\": \"20\"}, {\"dx_label\": \"Oligodendroglioma\", \"count\": \"18\"}, {\"dx_label\": \"Nodular Melanoma\", \"count\": \"18\"}, {\"dx_label\": \"Adenocarcinoma, Endocervical Type\", \"count\": \"18\"}, {\"dx_label\": \"Malignant Myoepithelioma\", \"count\": \"16\"}, {\"dx_label\": \"Chordoma\", \"count\": \"16\"}, {\"dx_label\": \"Ependymoma\", \"count\": \"16\"}, {\"dx_label\": \"Basaloid Squamous Cell Carcinoma\", \"count\": \"15\"}, {\"dx_label\": \"Adnexal Carcinoma\", \"count\": \"15\"}, {\"dx_label\": \"Gastric Tubular Adenocarcinoma\", \"count\": \"15\"}, {\"dx_label\": \"Skin Basal Cell Carcinoma\", \"count\": \"15\"}, {\"dx_label\": \"Lymphoma\", \"count\": \"14\"}, {\"dx_label\": \"Mucinous Adenocarcinoma, Endocervical Type\", \"count\": \"14\"}, {\"dx_label\": \"Paraganglioma\", \"count\": \"14\"}, {\"dx_label\": \"Medullary Carcinoma, Not Otherwise Specified\", \"count\": \"13\"}, {\"dx_label\": \"Epithelioid Cell Melanoma\", \"count\": \"13\"}, {\"dx_label\": \"Adult Germ Cell Tumor\", \"count\": \"12\"}, {\"dx_label\": \"Embryonal Carcinoma\", \"count\": \"11\"}, {\"dx_label\": \"Mixed Germ Cell Tumor\", \"count\": \"10\"}, {\"dx_label\": \"Synovial Sarcoma\", \"count\": \"10\"}, {\"dx_label\": \"Undifferentiated Pleomorphic Sarcoma\", \"count\": \"10\"}, {\"dx_label\": \"Signet Ring Cell Carcinoma\", \"count\": \"10\"}, {\"dx_label\": \"Ductal Breast Carcinoma In Situ\", \"count\": \"10\"}, {\"dx_label\": \"Mucoepidermoid Carcinoma\", \"count\": \"9\"}, {\"dx_label\": \"Collecting Duct Carcinoma\", \"count\": \"8\"}, {\"dx_label\": \"Adult Synovial Sarcoma\", \"count\": \"8\"}, {\"dx_label\": \"Childhood Synovial Sarcoma\", \"count\": \"8\"}, {\"dx_label\": \"Malignant Paraganglioma\", \"count\": \"7\"}, {\"dx_label\": \"Thymic Carcinoma\", \"count\": \"7\"}, {\"dx_label\": \"Adult Malignant Peripheral Nerve Sheath Tumor\", \"count\": \"7\"}, {\"dx_label\": \"Malignant Peripheral Nerve Sheath Tumor\", \"count\": \"7\"}, {\"dx_label\": \"Medulloblastoma\", \"count\": \"7\"}, {\"dx_label\": \"Adult Medulloblastoma\", \"count\": \"7\"}, {\"dx_label\": \"Amelanotic Melanoma\", \"count\": \"7\"}, {\"dx_label\": \"Childhood Medulloblastoma\", \"count\": \"7\"}, {\"dx_label\": \"Combined Hepatocellular Carcinoma and Cholangiocarcinoma\", \"count\": \"7\"}, {\"dx_label\": \"Adenoma\", \"count\": \"6\"}, {\"dx_label\": \"Childhood Neuroblastoma\", \"count\": \"6\"}, {\"dx_label\": \"Intraductal Papillary Adenocarcinoma with Invasion\", \"count\": \"6\"}, {\"dx_label\": \"Carcinoid Tumor\", \"count\": \"6\"}, {\"dx_label\": \"Solid Carcinoma\", \"count\": \"6\"}, {\"dx_label\": \"Neoplasm\", \"count\": \"5\"}, {\"dx_label\": \"Pituitary Gland Adenoma\", \"count\": \"5\"}, {\"dx_label\": \"Sex Cord-Stromal Tumor\", \"count\": \"5\"}, {\"dx_label\": \"Papillary Squamous Cell Carcinoma\", \"count\": \"5\"}, {\"dx_label\": \"Superficial Spreading Melanoma\", \"count\": \"5\"}, {\"dx_label\": \"Thyroid Gland Follicular Carcinoma\", \"count\": \"4\"}, {\"dx_label\": \"Neuroblastoma\", \"count\": \"4\"}, {\"dx_label\": \"Adult Yolk Sac Tumor\", \"count\": \"4\"}, {\"dx_label\": \"Yolk Sac Tumor\", \"count\": \"4\"}, {\"dx_label\": \"Granulosa Cell Tumor\", \"count\": \"4\"}, {\"dx_label\": \"Childhood Malignant Peripheral Nerve Sheath Tumor\", \"count\": \"4\"}, {\"dx_label\": \"Acute Myeloid Leukemia with t(8;21); (q22; q22.1); RUNX1-RUNX1T1\", \"count\": \"3\"}, {\"dx_label\": \"Malignant Teratoma\", \"count\": \"3\"}, {\"dx_label\": \"Paget Disease\", \"count\": \"3\"}, {\"dx_label\": \"Olfactory Neuroblastoma\", \"count\": \"3\"}, {\"dx_label\": \"Basaloid Carcinoma\", \"count\": \"3\"}, {\"dx_label\": \"Immature Teratoma\", \"count\": \"3\"}, {\"dx_label\": \"Pleomorphic Carcinoma\", \"count\": \"3\"}, {\"dx_label\": \"Myxoid Leiomyosarcoma\", \"count\": \"3\"}, {\"dx_label\": \"Serous Surface Papillary Carcinoma\", \"count\": \"3\"}, {\"dx_label\": \"Giant Cell Sarcoma\", \"count\": \"2\"}, {\"dx_label\": \"Diffuse Sclerosing Variant Thyroid Gland Papillary Carcinoma\", \"count\": \"2\"}, {\"dx_label\": \"Acral Lentiginous Melanoma\", \"count\": \"2\"}, {\"dx_label\": \"Phyllodes Tumor\", \"count\": \"2\"}, {\"dx_label\": \"Acute Myeloid Leukemia with inv(16)(p13.1q22) or t(16;16)(p13.1;q22); CBFB-MYH11\", \"count\": \"2\"}, {\"dx_label\": \"Breast Carcinoma\", \"count\": \"2\"}, {\"dx_label\": \"Pleomorphic Liposarcoma\", \"count\": \"2\"}, {\"dx_label\": \"Lentigo Maligna Melanoma\", \"count\": \"2\"}, {\"dx_label\": \"Acute Myeloid Leukemia\", \"count\": \"1\"}, {\"dx_label\": \"Sarcomatoid Squamous Cell Carcinoma\", \"count\": \"1\"}, {\"dx_label\": \"Desmoid-Type Fibromatosis\", \"count\": \"1\"}, {\"dx_label\": \"Desmoplastic Melanoma\", \"count\": \"1\"}, {\"dx_label\": \"Cystadenocarcinoma\", \"count\": \"1\"}, {\"dx_label\": \"Secretory Breast Carcinoma\", \"count\": \"1\"}, {\"dx_label\": \"Adult Liposarcoma\", \"count\": \"1\"}, {\"dx_label\": \"Abdominal (Mesenteric) Fibromatosis\", \"count\": \"1\"}, {\"dx_label\": \"Oxyphilic Adenocarcinoma\", \"count\": \"1\"}, {\"dx_label\": \"Mixed Embryonal Carcinoma and Teratoma\", \"count\": \"1\"}, {\"dx_label\": \"Childhood Liposarcoma\", \"count\": \"1\"}, {\"dx_label\": \"Cribriform Carcinoma\", \"count\": \"1\"}, {\"dx_label\": \"Adenocarcinoma with Neuroendocrine Differentiation\", \"count\": \"1\"}, {\"dx_label\": \"Liposarcoma\", \"count\": \"1\"}], \"transform\": [{\"type\": \"formula\", \"as\": \"angle\", \"expr\": \"[-45, 0, 45][~~(random() * 3)]\"}, {\"type\": \"formula\", \"as\": \"weight\", \"expr\": \"if(datum.text=='VEGA', 600, 300)\"}]}], \"scales\": [{\"name\": \"color\", \"type\": \"ordinal\", \"domain\": {\"data\": \"table\", \"field\": \"text\"}, \"range\": [\"#d5a928\", \"#652c90\", \"#939597\"]}], \"marks\": [{\"type\": \"text\", \"from\": {\"data\": \"table\"}, \"encode\": {\"enter\": {\"text\": {\"field\": \"text\"}, \"align\": {\"value\": \"center\"}, \"baseline\": {\"value\": \"alphabetic\"}, \"fill\": {\"scale\": \"color\", \"field\": \"text\"}}, \"update\": {\"fillOpacity\": {\"value\": 1}}, \"hover\": {\"fillOpacity\": {\"value\": 0.5}}}, \"transform\": [{\"type\": \"wordcloud\", \"size\": [800, 400], \"text\": {\"field\": \"datum.text\"}, \"rotate\": {\"field\": \"datum.angle\"}, \"font\": \"Helvetica Neue, Arial\", \"fontSize\": {\"field\": \"datum.count\"}, \"fontWeight\": {\"field\": \"datum.weight\"}, \"fontSizeRange\": [12, 56], \"padding\": 2}]}]};\n",
       "var opt = {};\n",
       "var type = \"vega\";\n",
       "var id = \"95141a2d-0c64-45bd-88bf-ff1aca11a9a3\";\n",
       "\n",
       "var output_area = this;\n",
       "\n",
       "require([\"nbextensions/jupyter-vega/index\"], function(vega) {\n",
       "  var target = document.createElement(\"div\");\n",
       "  target.id = id;\n",
       "  target.className = \"vega-embed\";\n",
       "\n",
       "  var style = document.createElement(\"style\");\n",
       "  style.textContent = [\n",
       "    \".vega-embed .error p {\",\n",
       "    \"  color: firebrick;\",\n",
       "    \"  font-size: 14px;\",\n",
       "    \"}\",\n",
       "  ].join(\"\\\\n\");\n",
       "\n",
       "  // element is a jQuery wrapped DOM element inside the output area\n",
       "  // see http://ipython.readthedocs.io/en/stable/api/generated/\\\n",
       "  // IPython.display.html#IPython.display.Javascript.__init__\n",
       "  element[0].appendChild(target);\n",
       "  element[0].appendChild(style);\n",
       "\n",
       "  vega.render(\"#\" + id, spec, type, opt, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== \"scripterror\") {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ],
      "text/plain": [
       "<vega.vega.Vega at 0x11f540eb8>"
      ]
     },
     "execution_count": 26,
     "metadata": {
      "jupyter-vega": "#95141a2d-0c64-45bd-88bf-ff1aca11a9a3"
     },
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAGQCAYAAABWJQQ0AAAE70lEQVR4nO3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8GIqtAAGJCzYxAAAAAElFTkSuQmCC"
     },
     "metadata": {
      "jupyter-vega": "#95141a2d-0c64-45bd-88bf-ff1aca11a9a3"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Vega({\n",
    "  \"$schema\": \"https://vega.github.io/schema/vega/v5.json\",\n",
    "  \"width\": 800,\n",
    "  \"height\": 400,\n",
    "  \"padding\": 0,\n",
    "\n",
    "  \"data\": [\n",
    "    {\n",
    "      \"name\": \"table\",\n",
    "      \"values\": dx_count,\n",
    "      \"transform\": [\n",
    "        {\n",
    "          \"type\": \"formula\", \"as\": \"angle\",\n",
    "          \"expr\": \"[-45, 0, 45][~~(random() * 3)]\"\n",
    "        },\n",
    "        {\n",
    "          \"type\": \"formula\", \"as\": \"weight\",\n",
    "          \"expr\": \"if(datum.text=='VEGA', 600, 300)\"\n",
    "        }\n",
    "      ]\n",
    "    }\n",
    "  ],\n",
    "\n",
    "  \"scales\": [\n",
    "    {\n",
    "      \"name\": \"color\",\n",
    "      \"type\": \"ordinal\",\n",
    "      \"domain\": {\"data\": \"table\", \"field\": \"text\"},\n",
    "      \"range\": [\"#d5a928\", \"#652c90\", \"#939597\"]\n",
    "    }\n",
    "  ],\n",
    "\n",
    "  \"marks\": [\n",
    "    {\n",
    "      \"type\": \"text\",\n",
    "      \"from\": {\"data\": \"table\"},\n",
    "      \"encode\": {\n",
    "        \"enter\": {\n",
    "          \"text\": {\"field\": \"text\"},\n",
    "          \"align\": {\"value\": \"center\"},\n",
    "          \"baseline\": {\"value\": \"alphabetic\"},\n",
    "          \"fill\": {\"scale\": \"color\", \"field\": \"text\"}\n",
    "        },\n",
    "        \"update\": {\n",
    "          \"fillOpacity\": {\"value\": 1}\n",
    "        },\n",
    "        \"hover\": {\n",
    "          \"fillOpacity\": {\"value\": 0.5}\n",
    "        }\n",
    "      },\n",
    "      \"transform\": [\n",
    "        {\n",
    "          \"type\": \"wordcloud\",\n",
    "          \"size\": [800, 400],\n",
    "          \"text\": {\"field\": \"datum.text\"},\n",
    "          \"rotate\": {\"field\": \"datum.angle\"},\n",
    "          \"font\": \"Helvetica Neue, Arial\",\n",
    "          \"fontSize\": {\"field\": \"datum.count\"},\n",
    "          \"fontWeight\": {\"field\": \"datum.weight\"},\n",
    "          \"fontSizeRange\": [12, 56],\n",
    "          \"padding\": 2\n",
    "        }\n",
    "      ]\n",
    "    }\n",
    "  ]\n",
    "}\n",
    "\n",
    "\n",
    ",dx_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "dx_race_count = [x.asdict() for x in dx_race_age.query('''\n",
    "        select ?c ?count where {\n",
    "          ?c rdfs:subClassOf sio:SIO_000485.\n",
    "          ?c sio:SIO_000008 [ a sio:SIO_000794; sio:SIO_000300 ?count ].\n",
    "          filter(?count > 1)\n",
    "        } order by desc(?count)\n",
    "        ''', initNs = ns)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Carcinoma\n",
      "White\n"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "for row in dx_race_count:\n",
    "    ec = dx_race_age.resource(row['c']).value(rdflib.OWL.equivalentClass)\n",
    "    i = ec.value(rdflib.OWL.intersectionOf)\n",
    "    l = list(i.transitive_objects(rdflib.RDF.rest))\n",
    "    for listel in l:\n",
    "        r = listel.value(rdflib.RDF.first)\n",
    "        if r is not None:\n",
    "            c = r.value(rdflib.OWL.someValuesFrom)\n",
    "            if c is not None:\n",
    "                if c[rdflib.RDFS.subClassOf:ns['obo'].NCIT_C17049]:\n",
    "                    row['race'] = c.value(rdflib.RDFS.label)\n",
    "                if c[rdflib.RDFS.subClassOf:ns['obo'].NCIT_C2991]:\n",
    "                    row['disease'] = c.value(rdflib.RDFS.label)\n",
    "dx_race_count = pd.DataFrame.from_records(dx_race_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>c</th>\n",
       "      <th>count</th>\n",
       "      <th>disease</th>\n",
       "      <th>race</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>http://example.com/aggns/a158d600273b6872196b4...</td>\n",
       "      <td>120</td>\n",
       "      <td>Carcinoma</td>\n",
       "      <td>White</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>http://example.com/aggns/a0db7e6a79ad9e65b548d...</td>\n",
       "      <td>117</td>\n",
       "      <td>Adenocarcinoma</td>\n",
       "      <td>White</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>http://example.com/aggns/ab5959fac6caae81fcd77...</td>\n",
       "      <td>111</td>\n",
       "      <td>Squamous Cell Carcinoma</td>\n",
       "      <td>White</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>http://example.com/aggns/a054d1112dcbde8ae1ac3...</td>\n",
       "      <td>67</td>\n",
       "      <td>Glioblastoma</td>\n",
       "      <td>White</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>http://example.com/aggns/97b0b9d73b11b25b6f4df...</td>\n",
       "      <td>66</td>\n",
       "      <td>Melanoma</td>\n",
       "      <td>White</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   c count  \\\n",
       "0  http://example.com/aggns/a158d600273b6872196b4...   120   \n",
       "1  http://example.com/aggns/a0db7e6a79ad9e65b548d...   117   \n",
       "2  http://example.com/aggns/ab5959fac6caae81fcd77...   111   \n",
       "3  http://example.com/aggns/a054d1112dcbde8ae1ac3...    67   \n",
       "4  http://example.com/aggns/97b0b9d73b11b25b6f4df...    66   \n",
       "\n",
       "                   disease   race  \n",
       "0                Carcinoma  White  \n",
       "1           Adenocarcinoma  White  \n",
       "2  Squamous Cell Carcinoma  White  \n",
       "3             Glioblastoma  White  \n",
       "4                 Melanoma  White  "
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dx_race_count.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "var spec = {\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"values\": [{\"c\": \"http://example.com/aggns/a158d600273b6872196b4480f2b7b3721a65025292dbcd34dec609c32594e21ef\", \"count\": \"120\", \"disease\": \"Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a0db7e6a79ad9e65b548db759654c7e24eb06b632520ad861115597aec0f68e49\", \"count\": \"117\", \"disease\": \"Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/ab5959fac6caae81fcd77b0a6f3bebce4a9fc93dd96717f687a0ff3494140f5d7\", \"count\": \"111\", \"disease\": \"Squamous Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a054d1112dcbde8ae1ac34ec03002ab70434cb68951ace71e73990e68c1b6e52f\", \"count\": \"67\", \"disease\": \"Glioblastoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/97b0b9d73b11b25b6f4df97f6f9c71e0f93309b2dfd9d8426a9217e2044947eea\", \"count\": \"66\", \"disease\": \"Melanoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9ff7f8d2094139c29b02f5fef8a9e935da59e5d8ed92d15cb9c7cb1854d0313a1\", \"count\": \"59\", \"disease\": \"Gastric Papillary Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/96c68012471491203b4902e0f1b6514b9f1f429dcbd1fe1bd210b2bca804e3658\", \"count\": \"57\", \"disease\": \"Endometrioid Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/8277ea57d09a4c008b29fddeb4dccd0583d4b056244a69ac1b9fe239cda3c05fb\", \"count\": \"34\", \"disease\": \"Gastric Papillary Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/989ec53eb94a17359fe9d1846385c622397bd30dced5239798350edacfb1c7945\", \"count\": \"31\", \"disease\": \"Adrenal Gland Pheochromocytoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9d0c37a698e67a1b775bcb79cca2b6d6fa2a26fc3e2f342e9de5b9b4bcc4793f2\", \"count\": \"26\", \"disease\": \"Chromophobe Renal Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/6fca5a3658cad1ca54771583c969f4de6d079991d1bf097dd3956eb447c9f903f\", \"count\": \"24\", \"disease\": \"Hepatocellular Carcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a79c134539b1b2683b873ee7f8b38cd12f52746347444178883f088529ade4266\", \"count\": \"22\", \"disease\": \"Acute Myeloid Leukemia Not Otherwise Specified\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/83d8c785ee947ab009924c60aeea9741c3dfcccfc9936584409e20e49e6871449\", \"count\": \"22\", \"disease\": \"Carcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a73592c06e825b835c31d325bd63d403a3a6842753ce67bb8b55b386f9292b456\", \"count\": \"20\", \"disease\": \"Leiomyosarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/835b6ff04106b0a3a56fe3555287abb1f82b35e05bd845d572ed709c64e2f80a3\", \"count\": \"20\", \"disease\": \"Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a0299716d21921c66f981c0f440099dd1ff46205fcd39ed7122a312ac00d8468\", \"count\": \"20\", \"disease\": \"Adult Leiomyosarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a426989658c895de666e7b5fdb789f49981c1b1300b7123fc2318cfd3b6d99fc\", \"count\": \"19\", \"disease\": \"Thymoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/98820513b6a7b7e768e372b4562b96cb2ec2e3f863ce8aab75a06ba502de17d4d\", \"count\": \"17\", \"disease\": \"Adult Oligodendroglioma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/970922071a25dd8bb00c57cbca0057c7b3d17eb5fdbb039e3a753b54f6f5d552c\", \"count\": \"16\", \"disease\": \"Cervical Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9f66c6e17908ba811fdf116caed1d03b3c4eede941c7ffced13ee4932702237bf\", \"count\": \"15\", \"disease\": \"Papillary Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/8dd94b808e23c0bfecfe82ea2b6ecf9df41a93bb101eb045e97916560ce79e831\", \"count\": \"15\", \"disease\": \"Squamous Cell Carcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/aa33d4ddb6de9d055ead5bf567ac42e50f5ebd8e9f0dd73d2d8ecd6d94f44fdcd\", \"count\": \"15\", \"disease\": \"Papillary Transitional Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/ad03bb6415b0f2a5a91796e958e8d70a52600fb81809e64df0ddd3c77264be094\", \"count\": \"15\", \"disease\": \"Squamous Cell Carcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/9ca2d6626513f8a0f1753a53ea8d6ca7bf7a6f47415eb1ee2c03f754e09316b45\", \"count\": \"14\", \"disease\": \"Dedifferentiated Liposarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a1f59f3cd36b7d9977f18105393b2872a45c35fbcc21ecf1ae9ee70fdeca7fb1e\", \"count\": \"12\", \"disease\": \"Oligodendroglioma, Not Otherwise Specified\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a2344f8e0b83f81f080e398c03f5d5f2e8167086a94189ba012fb6ae47c7e37d6\", \"count\": \"12\", \"disease\": \"Oligodendroglioma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9870e17b95fad543e7891ebfdb633c87a6df89180a74cc733b4d874f865592115\", \"count\": \"12\", \"disease\": \"Endometrioid Adenocarcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/a071ff164c1c4fdd4d32464dcc6fd3b5a016189c33fab2ae66e6bfca1ccd38ca8\", \"count\": \"11\", \"disease\": \"Spindle Cell Melanoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/b2103a2058477368b5a6d063cb0cd770d33927401756a0ab8b0f59f12ae69739f\", \"count\": \"11\", \"disease\": \"Seminoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a1a25a3b58277de6474311dde256d471e21a2c532c359fb423049fab3320dfe5e\", \"count\": \"10\", \"disease\": \"Gastric Papillary Adenocarcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/74eed0e367c881817b67ea702d049ed6242fc170455144cadad9d60aa460b758\", \"count\": \"10\", \"disease\": \"Papillary Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/98894c2bc670f7f198577b83189f2bf279e4a262c7ae954b6498b6234a92532a5\", \"count\": \"10\", \"disease\": \"Mucinous Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/8da08a40362f2062d84c6fad49378be97c4e5d6770e0c44a95e74b1fde7a1bb5\", \"count\": \"6\", \"disease\": \"Serous Cystadenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/794671980e6da35e2b700ac0ade9351b489a0d1b0289966b33e8c9de20d8728b2\", \"count\": \"6\", \"disease\": \"Endometrioid Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/92cce51f042bca31b065e18ec4e9af047b87444f641369f9e16d94857c32e85b6\", \"count\": \"6\", \"disease\": \"Renal Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/7b093db18dca0a2f887e8362d4d20fc2235f6cdffe662d9ac670cd44c365e24ff\", \"count\": \"6\", \"disease\": \"Mucinous Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/933cf3f538ce33c485b74a2017dde82abb4c65c77ac7e0dc315400419cb3aa937\", \"count\": \"5\", \"disease\": \"Undifferentiated (Embryonal) Sarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/95ee529125566d23178316b09443d4c86f15d80dec7565a1f8b93ef58ef734b37\", \"count\": \"5\", \"disease\": \"Mixed Germ Cell Tumor\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/951aa01f06e948cd2c4f732f7571d161d95928a277afa7b92c8a63efd8c2dfd51\", \"count\": \"5\", \"disease\": \"Mixed Epithelioid and Spindle Cell Melanoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9d250e6e5d3c246652b2af8866e1e250967a5dbaa94ee65216365ed33c5223901\", \"count\": \"5\", \"disease\": \"Cholangiocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a68a4b47809a8c44df29d074d6e3d263fc2e6d22a4aad9145121a91d69a706ec2\", \"count\": \"5\", \"disease\": \"Adult Cholangiocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a285dfd3c893e2896188f7548001b31e5670b1dd63c37bdd7a522e0dca6017906\", \"count\": \"5\", \"disease\": \"Adenocarcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/81e6b8674061ccbf1006194c6b04b40ae5c9b866787f981e3316fbb49fd5b2a19\", \"count\": \"4\", \"disease\": \"Papillary Carcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/9eb6990fe7ccbe3f239be758b64fa21301ea6d767cd2028607228e479b1527eaf\", \"count\": \"4\", \"disease\": \"Chromophobe Renal Cell Carcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/98b38370690c21af5c4c73aab3ad4303bb91c5303c5dd1f5a3b20fe7d54683fe9\", \"count\": \"4\", \"disease\": \"Cervical Adenocarcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/ade01b12ecefe3e54930b88248b0111749698255d25bc9483ac6d0a9088035f7d\", \"count\": \"4\", \"disease\": \"Thymic Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/ad1e56801c3e9d3700cb849e8185075fceb161558fbb70e50ce6a273298935a4b\", \"count\": \"4\", \"disease\": \"Malignant Mesothelioma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/84952ebdef4383c8a9d07a46f552c1d825913405c388b3e7f5c00ab7bbf4b44bc\", \"count\": \"4\", \"disease\": \"Tubular Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a36bf6514e13b01fd5f5efe1773546c805f86cd7ec41e7dbf9e59181a71603b3b\", \"count\": \"4\", \"disease\": \"Undifferentiated Pleomorphic Sarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/7b1eb6c480a329739010d9641fb8a9f1e2f69d8b058cbbe6fa0d25fc488556b9f\", \"count\": \"4\", \"disease\": \"Adrenal Gland Pheochromocytoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a0b1605d92f4708c8604de5d4df0f093a3c4d7353b20aec404b73fcbef4f36cc5\", \"count\": \"4\", \"disease\": \"Extra-Adrenal Paraganglioma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/86a68a1c2021a81c5695833f97ab83194196e590376eaa8f2409a41eb4412921a\", \"count\": \"4\", \"disease\": \"Thymoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/9d2d4fd3c0a597cfa4bffe7c84646b0b640feecc7a4781aa6ae9878868c6165a\", \"count\": \"3\", \"disease\": \"Epithelioid Cell Melanoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a1e589efb330809d45d7ff844a9c2bc8190f982eb33979c02bf3721e5225f530e\", \"count\": \"3\", \"disease\": \"Solid Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a1ff327a7cb222ae8dec50caecad15f30bf511e2d3bd9cc9507665796a6c1cfec\", \"count\": \"3\", \"disease\": \"Glioblastoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/8f1eab030f2a5e74e145737d7e70b5cc3a668b3811a9fb4ddd8cf582336ca3203\", \"count\": \"3\", \"disease\": \"Gastric Tubular Adenocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/82d4c296f524f0c8d1d33ccbbf330e86adaf95e5cbd266c14911a80804eefd789\", \"count\": \"3\", \"disease\": \"Glioblastoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/ac9eb97d47d14c36f11e6b9dc23dd1fc90ebc0badaf262fe7bb4de60ba9913fa9\", \"count\": \"3\", \"disease\": \"Gastric Tubular Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a2153d3827ea718ab9a97267391fde087c1669888cd11b9893e7f396432125262\", \"count\": \"3\", \"disease\": \"Tubular Adenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/9cf89a7e45915140ce883a86c2335823b22807cd83bcc088eef1091c8ecffeb69\", \"count\": \"3\", \"disease\": \"Adenocarcinoma, Endocervical Type\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/867c0654abb240840c296fa13f93d3685a1d14fc3a79a20e8b3e19a7e67465d0e\", \"count\": \"3\", \"disease\": \"Mixed Neoplasm\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/a1d0bcdca76675ab622b6b9d20c8b5e3029b7fa1d6bed0a1c69a550b2262cca44\", \"count\": \"2\", \"disease\": \"Carcinosarcoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/a111b27eb9be8ecc04bb7cd2c376d0a13bb1836d2e6c92a7df0149930b8ea904f\", \"count\": \"2\", \"disease\": \"Superficial Spreading Melanoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/7bb58e2e172c418ae1eb3ef63b5d2595a94af15dd95924156e76e84a956362c03\", \"count\": \"2\", \"disease\": \"Cervical Keratinizing Squamous Cell Carcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/9adffe119eb973709e0452f568d72d0207906d5ae1445a1d75dba5bbfae082466\", \"count\": \"2\", \"disease\": \"Cervical Keratinizing Squamous Cell Carcinoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/94e7555e87b477e831f765ff018ad366c30cac41b96aaf339a90d4d47b04593f4\", \"count\": \"2\", \"disease\": \"Undifferentiated (Embryonal) Sarcoma\", \"race\": \"Black or African American\"}, {\"c\": \"http://example.com/aggns/9e0f7afeb1410c356c03dba531ae69ee175e33b69afcaa661837fa6231359c03b\", \"count\": \"2\", \"disease\": \"Adenoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/902b017dc2c1d49817c33a9b01ee5a4e0b7c1971218112fc59c242dad5811469f\", \"count\": \"2\", \"disease\": \"Signet Ring Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a39fb211ff0a93c78963ba47cc4bea91a39b411acfcad8ac61d0e4f4eee3eb45d\", \"count\": \"2\", \"disease\": \"Synovial Sarcoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/97d1f6bd7bc61a84077370efa945cc24a82ad0a511dd78eb62faab610d435f233\", \"count\": \"2\", \"disease\": \"Cervical Keratinizing Squamous Cell Carcinoma\", \"race\": \"Native Hawaiian or Other Pacific Islander\"}, {\"c\": \"http://example.com/aggns/7d1a896add2d6e7c59e2d0cb9aadb25fbd3b574fc41a2b26a7174c9e3a4db6d9b\", \"count\": \"2\", \"disease\": \"Combined Hepatocellular Carcinoma and Cholangiocarcinoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/85e240e02ce1d24c241e774d51722f1e9cc6c44f63eb73ab2c6c680121bf88db4\", \"count\": \"2\", \"disease\": \"Lymphoma\", \"race\": \"Asian\"}, {\"c\": \"http://example.com/aggns/aa6f0c0728b87d8d54669806e1f72f16bb1700132a48c28509578dbf21a8dc398\", \"count\": \"2\", \"disease\": \"Acinar Cell Carcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a596918707a26c001091603a763850b0888b9114950c8752ed4f22551deff55f4\", \"count\": \"2\", \"disease\": \"Squamous Cell Carcinoma\", \"race\": \"American Indian or Alaska Native\"}, {\"c\": \"http://example.com/aggns/93943262d4c56381b75d9c4fbc663ba7558baa20a678b0a966f0df962d9f4394b\", \"count\": \"2\", \"disease\": \"Papillary Serous Cystadenocarcinoma\", \"race\": \"White\"}, {\"c\": \"http://example.com/aggns/a3fc14cee4592e461c0267c18360ef98b0a24a7f03c209bf296602866da0d6ab4\", \"count\": \"2\", \"disease\": \"Mixed Neoplasm\", \"race\": \"White\"}]}, \"mark\": \"rect\", \"encoding\": {\"y\": {\"field\": \"disease\", \"type\": \"nominal\", \"scale\": {\"rangeStep\": 10}, \"axis\": {\"title\": \"Disease\", \"titlePadding\": 20, \"titleFontSize\": 20, \"labelFontSize\": 9}}, \"x\": {\"field\": \"race\", \"type\": \"nominal\", \"scale\": {\"rangeStep\": 30}, \"axis\": {\"title\": \"Race\", \"titlePadding\": 20, \"titleFontSize\": 20, \"labelFontSize\": 20}}, \"color\": {\"field\": \"count\", \"type\": \"quantitative\"}}};\n",
       "var opt = {};\n",
       "var type = \"vega-lite\";\n",
       "var id = \"f9964897-3900-46bc-b739-1452cb4ce272\";\n",
       "\n",
       "var output_area = this;\n",
       "\n",
       "require([\"nbextensions/jupyter-vega/index\"], function(vega) {\n",
       "  var target = document.createElement(\"div\");\n",
       "  target.id = id;\n",
       "  target.className = \"vega-embed\";\n",
       "\n",
       "  var style = document.createElement(\"style\");\n",
       "  style.textContent = [\n",
       "    \".vega-embed .error p {\",\n",
       "    \"  color: firebrick;\",\n",
       "    \"  font-size: 14px;\",\n",
       "    \"}\",\n",
       "  ].join(\"\\\\n\");\n",
       "\n",
       "  // element is a jQuery wrapped DOM element inside the output area\n",
       "  // see http://ipython.readthedocs.io/en/stable/api/generated/\\\n",
       "  // IPython.display.html#IPython.display.Javascript.__init__\n",
       "  element[0].appendChild(target);\n",
       "  element[0].appendChild(style);\n",
       "\n",
       "  vega.render(\"#\" + id, spec, type, opt, output_area);\n",
       "}, function (err) {\n",
       "  if (err.requireType !== \"scripterror\") {\n",
       "    throw(err);\n",
       "  }\n",
       "});\n"
      ],
      "text/plain": [
       "<vega.vegalite.VegaLite at 0x11f55cf60>"
      ]
     },
     "execution_count": 97,
     "metadata": {
      "jupyter-vega": "#f9964897-3900-46bc-b739-1452cb4ce272"
     },
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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"
     },
     "metadata": {
      "jupyter-vega": "#f9964897-3900-46bc-b739-1452cb4ce272"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "VegaLite({\n",
    "  \"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\",\n",
    "  \"data\": {\"url\": \"data/cars.json\"},\n",
    "  \"mark\": \"rect\",\n",
    "  \"encoding\": {\n",
    "    \"y\": {\n",
    "        \"field\": \"disease\", \n",
    "        \"type\": \"nominal\", \n",
    "        \"scale\": {\"rangeStep\": 10},\n",
    "        \"axis\": {\n",
    "            \"title\":\"Disease\",\n",
    "            \"titlePadding\": 20,\n",
    "            \"titleFontSize\": 20,\n",
    "            \"labelFontSize\": 9\n",
    "        }\n",
    "    },\n",
    "    \"x\": {\n",
    "        \"field\": \"race\", \n",
    "        \"type\": \"nominal\", \n",
    "        \"scale\": {\"rangeStep\": 30}, \n",
    "        \"axis\": {\n",
    "            \"title\":\"Race\",\n",
    "            \"titlePadding\": 20,\n",
    "            \"titleFontSize\": 20, \n",
    "            \"labelFontSize\": 20\n",
    "        }\n",
    "    },\n",
    "    \"color\": {\"field\": \"count\", \"type\": \"quantitative\"}\n",
    "  }\n",
    "}, dx_race_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: []\n",
       "Index: []"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "race_count = [x.asdict() for x in race_age.query('''\n",
    "        select ?text ?count where {\n",
    "          ?c rdfs:subClassOf sio:SIO_000485;\n",
    "             rdfs:label ?text;\n",
    "             sio:SIO_000008 [ a sio:SIO_000794; sio:SIO_000300 ?count ].\n",
    "        } order by desc(?count)\n",
    "        ''', initNs = ns)]\n",
    "race_count = pd.DataFrame.from_records(race_count)\n",
    "race_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
